﻿using Mt.Site.Core.Navigations.Entities;
using System;
using System.Threading.Tasks;

namespace Mt.Site.Core.Synchronization.Navigations
{
    public interface IMenuStore
    {
        Task DeleteMenuItemAsync(Menu toEntity, string languageName);

        Task<Guid> CreateMenuSync(Menu fromEntity, int toTenantId);

        Task<Guid> UpdateMenuSync(Menu toEntity, Menu fromEntity);

        Task ResetMenuCacheAsync(int tenantId);

        Task StylesAndScriptsSync(Guid fromMenuId, Guid toMenuId, int toTenantId);

        Task<Guid> StylesAndScriptsAutoSync(Bundling toEntity, Bundling fromEntity, Guid toMenuId, int toTenantId);
    }
}
